@echo off
chcp 65001
title 设置云打印应用开机启动

:: 检查管理员权限
net session >nul 2>&1
if %errorlevel% neq 0 (
    echo 错误: 请以管理员身份运行此脚本!
    echo 请右键点击此批处理文件并选择"以管理员身份运行"。
    pause
    exit /b 1
)

:: 确定应用程序可执行文件路径
set "APP_EXE=%~dp0cloud_print_app.exe"
if not exist "%APP_EXE%" (
    if exist "%~dp0build\exe\cloud_print_app.exe" (
        set "APP_EXE=%~dp0build\exe\cloud_print_app.exe"
        echo 找到应用程序可执行文件: %APP_EXE%
    ) else (
        echo 错误: 未找到应用程序可执行文件!
        echo 请确保已成功构建应用程序。
        pause
        exit /b 1
    )
)

echo 创建启动脚本...
set "STARTUP_BAT=%~dp0run_cloud_print.bat"
echo @echo off > "%STARTUP_BAT%"
echo cd /d "%~dp0" >> "%STARTUP_BAT%"
echo start "" "%APP_EXE%" >> "%STARTUP_BAT%"
echo echo 云打印应用已启动，请勿关闭此窗口... >> "%STARTUP_BAT%"

echo 创建启动项...
set "STARTUP_FOLDER=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup"
set "SHORTCUT_VBS=%~dp0create_startup_shortcut.vbs"

echo Set oWS = WScript.CreateObject("WScript.Shell") > "%SHORTCUT_VBS%"
echo sLinkFile = "%STARTUP_FOLDER%\云打印系统.lnk" >> "%SHORTCUT_VBS%"
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> "%SHORTCUT_VBS%"
echo oLink.TargetPath = "%STARTUP_BAT%" >> "%SHORTCUT_VBS%"
echo oLink.WorkingDirectory = "%~dp0" >> "%SHORTCUT_VBS%"
echo oLink.Description = "启动云打印系统" >> "%SHORTCUT_VBS%"
echo oLink.Save >> "%SHORTCUT_VBS%"

cscript //nologo "%SHORTCUT_VBS%"
if %errorlevel% neq 0 (
    echo 创建启动项失败，请手动将 %STARTUP_BAT% 添加到启动项
) else (
    echo 启动项创建成功
    del "%SHORTCUT_VBS%" /q
)

echo.
echo 是否立即启动云打印应用? (Y/N)
choice /c YN /n
if %errorlevel% equ 1 (
    echo 正在启动云打印应用...
    start "" "%APP_EXE%"
)

echo.
echo 操作完成!
echo.
echo 云打印应用将在每次系统启动时自动运行。
echo 如需手动启动，请直接运行: %APP_EXE%
echo.
pause 